#include <iostream>
#include <vector>
#include <memory>

class MyClass {
public:
    MyClass() { std::cout << "Constructor\n"; }
    ~MyClass() { std::cout << "Destructor\n"; }
};

int main() {
    
        std::vector<std::shared_ptr<MyClass>> vec;
        vec.push_back(std::make_shared<MyClass>());
        // 不需要手动 reset 或 delete
     // vec 离开作用域，vec 中的 shared_ptr 自动释放资源

    std::cout << "End of program\n";
    return 0;
}